#include <iostream>
#include <cstdlib>
#include "Matrix.h"
#include "mark.h"
#include <fstream>
#include <ctime>
#include "genout.h"



const int N = 30000;

int main()
{
	srand(time(NULL));
	double C0dmnk[N+1],C1dmnk[N+1],I0dmnk[N+1],I1dmnk[N+1],C0mnk[N+1],C1mnk[N+1],I0mnk[N+1],I1mnk[N+1];
	
	double varcov[] = {-7,-3.5,-2.1,-1.4,0,1.4,2.1,3.5,7};
	
	go::do_mkdir("test", 0777);
	
	for(int i = 0; i < sizeof(varcov)/sizeof(varcov[0]); i++)
	{
		go::gout(0,3.5,varcov[i],0,2.9,0,N,C0dmnk,I0dmnk,C1dmnk,I1dmnk,C0mnk,I0mnk,C1mnk,I1mnk);
		std::string dirname = "test/";
		dirname += go::toString(varcov[i]);
		
		go::do_mkdir(dirname, 0777);
		
		reg::printMarkKernel(C0dmnk, N,300,dirname+"/"+"DMNK_C0");
		reg::printMarkKernel(C0mnk, N,300,dirname+"/"+"MNK_C0");
		
		reg::printMarkKernel(C1dmnk, N,300,dirname+"/"+"DMNK_C1");
		reg::printMarkKernel(C1mnk, N,300,dirname+"/"+"MNK_C1");
		
		reg::printMarkKernel(I0dmnk, N,300,dirname+"/"+"DMNK_I0");
		reg::printMarkKernel(I0mnk, N,300,dirname+"/"+"MNK_I0");
		
		reg::printMarkKernel(I1dmnk, N,300,dirname+"/"+"DMNK_I1");
		reg::printMarkKernel(I1mnk, N,300,dirname+"/"+"MNK_I1");		
	}	
	
	return 0;
}
